import request from '../MainService';
import { IPageParams } from './common';

/**
 * 新增广播文件数据类
 * @param name 文件名称
 * @param path 路径
 * @param suffix 后缀
 * @param type 类型
 */
export interface IPostBroadcastFile {
  /**
   * 文件名称
   */
  name: string;

  /**
   * 路径
   */
  path?: string;

  /**
   * 后缀
   */
  suffix?: string;

  /**
   * 类型
   */
  type?: string;
}

/**
 * 编辑广播文件数据类
 * @param id 广播文件id
 * @param name 文件名称
 * @param path 路径
 * @param suffix 后缀
 * @param type 类型
 */
export interface IPutBroadcastFile {
  /**
   * 广播文件id
   */
  id: string;

  /**
   * 文件名称
   */
  name: string;

  /**
   * 路径
   */
  path?: string;

  /**
   * 后缀
   */
  suffix?: string;

  /**
   * 类型
   */
  type?: string;
}

/**
 * 广播文件Api类
 */
export default class BroadcastFileApi {
  /**
   * 分页获取广播文件列表
   * @param params 分页参数
   */
  public getBroadcastFileByPage(params: IPageParams) {
    // return request({
    //   url: "/broadcast-file",
    //   method: "GET",
    //   params
    // });

    return new Promise((resolve, reject) => {
      resolve({
        data: {
          total: 3,
          list: [
            {
              id: Math.random(),
              name: "广播文件名称",
              path: "/root/etc",
              suffix: "txt",
              type: "文件"
            },
            {
              id: Math.random(),
              name: "广播文件名称",
              path: "/root/etc",
              suffix: "txt",
              type: "文件"
            },
            {
              id: Math.random(),
              name: "广播文件名称",
              path: "/root/etc",
              suffix: "txt",
              type: "文件"
            }
          ]
        }
      });
    });
  }
  
  /**
   * 新增广播文件数据
   * @param data 广播数据
   */
  public postBroadcast(data: IPostBroadcastFile) {
    return request({
      url: "/broadcast-file",
      method: "POST",
      data
    });
  }
  
  /**
   * 删除广播文件
   * @param id 广播文件id
   */
  public deleteBroadcastById(id: string) {
    return request({
      url: "/broadcast-file/" + id,
      method: "DELETE"
    });
  }
  
  /**
   * 编辑广播文件
   * @param id 广播文件id
   * @param data 广播文件数据
   */
  public putBroadcastById(id: string, data: IPutBroadcastFile) {
    return request({
      url: "/broadcast-file/" + id,
      method: "PUT",
      data
    });
  }
  
  /**
   * 获取广播文件详情
   * @param id 广播文件id
   */
  public getBroadcastById(id: string) {
    return request({
      url: "/broadcast-file/" + id,
      method: "GET"
    });
  }
}
